WOLF core
WOLF: A Modular Estimation Framework for Robotics
XXXXXXXXXXXXXXXXXXXXXXXXvoid(0)" frameborder="0" name="MSearchResults" id="MSearchResults">
wolf::StateQuaternion Class Reference

#include <core/state_block/state_quaternion.h>

Inheritance diagram for wolf::StateQuaternion:
[legend]

Public Member Functions

 StateQuaternion (bool _fixed=false, bool _transformable=true)
 
 StateQuaternion (const Eigen::VectorXd &_state, bool _fixed=false, bool _transformable=true)
 
 StateQuaternion (const Eigen::Quaterniond &_quaternion, bool _fixed=false, bool _transformable=true)
 
 ~StateQuaternion () override
 
 WOLF_STATE_BLOCK_CREATE (StateQuaternion)
 
void setIdentity (bool _notify=true) override
 
Eigen::VectorXd identity () const override
 
virtual void transform (const VectorComposite &_transformation) override
 
- Public Member Functions inherited from wolf::StateBlock
 StateBlock (const std::string &_type, const SizeEigen _size, bool _fixed=false, LocalParametrizationBasePtr _local_param_ptr=nullptr, bool _transformable=true)
 Constructor from size. More...
 
 StateBlock (const std::string &_type, const Eigen::VectorXd &_state, bool _fixed=false, LocalParametrizationBasePtr _local_param_ptr=nullptr, bool _transformable=true)
 Constructor from vector. More...
 
 StateBlock (const StateBlock &o)=delete
 
 StateBlock (StateBlock &&o)=delete
 
StateBlock & operator= (const StateBlock &o)=delete
 
virtual ~StateBlock ()
 Destructor. More...
 
std::string getType () const
 Returns the type of the state block. More...
 
Eigen::VectorXd getState () const
 Returns the state vector. More...
 
double * getStateData ()
 Returns the state vector data array. More...
 
void setState (const Eigen::VectorXd &_state, const bool _notify=true)
 Sets the state vector. More...
 
SizeEigen getSize () const
 Returns the state size. More...
 
SizeEigen getLocalSize () const
 Returns the size of the local parametrization. More...
 
bool isFixed () const
 Returns if the state is fixed (not estimated) More...
 
void fix ()
 Sets the state as fixed. More...
 
void unfix ()
 Sets the state as estimated. More...
 
void setFixed (bool _fixed)
 Sets the state status. More...
 
bool hasLocalParametrization () const
 Returns if the state has a local parametrization. More...
 
LocalParametrizationBasePtr getLocalParametrization () const
 Returns the state local parametrization ptr. More...
 
void setLocalParametrization (LocalParametrizationBasePtr _local_param)
 Sets a local parametrization. More...
 
void removeLocalParametrization ()
 Removes the state_block local parametrization. More...
 
bool stateUpdated () const
 Return if state has been updated. More...
 
bool fixUpdated () const
 Return if fix/unfix has been updated. More...
 
bool localParamUpdated () const
 Return if local parameterization has been updated. More...
 
void resetStateUpdated ()
 Set state_updated_ to false. More...
 
void resetFixUpdated ()
 Set fix_updated_ to false. More...
 
void resetLocalParamUpdated ()
 Set localk_param_updated_ to false. More...
 
virtual void setIdentity (bool _notify=true)
 
void setZero (bool _notify=true)
 
virtual Eigen::VectorXd identity () const
 
Eigen::VectorXd zero () const
 
void perturb (double amplitude=0.1)
 perturb all states states with random noise following an uniform distribution in [ -amplitude, amplitude ] More...
 
bool isTransformable () const
 
void setTransformable (bool _trf=true)
 
void setNonTransformable ()
 
virtual void transform (const VectorComposite &_transformation)=0
 
void plus (const Eigen::VectorXd &_dv)
 
bool isValid (double tolerance=Constants::EPS)
 

Static Public Member Functions

static Eigen::VectorXd Identity ()
 

Additional Inherited Members

- Protected Attributes inherited from wolf::StateBlock
std::string type_
 Type of the derived class. More...
 
std::atomic_bool fixed_
 Key to indicate whether the state is fixed or not. More...
 
std::atomic< SizeEigen > state_size_
 State vector size. More...
 
Eigen::VectorXd state_
 State vector storing the state values. More...
 
std::mutex mut_state_
 State vector mutex. More...
 
LocalParametrizationBasePtr local_param_ptr_
 Local parametrization useful for optimizing in the tangent space to the manifold. More...
 
std::atomic_bool state_updated_
 Flag to indicate whether the state has been updated or not. More...
 
std::atomic_bool fix_updated_
 Flag to indicate whether the status has been updated or not. More...
 
std::atomic_bool local_param_updated_
 Flag to indicate whether the local_parameterization has been updated or not. More...
 
bool transformable_
 Flag to indicate if the state block can be transformed to another reference frame. More...
 

Constructor & Destructor Documentation

◆ StateQuaternion() [1/3]

wolf::StateQuaternion::StateQuaternion ( bool  _fixed = false,
bool  _transformable = true 
)
inline

◆ StateQuaternion() [2/3]

wolf::StateQuaternion::StateQuaternion ( const Eigen::VectorXd &  _state,
bool  _fixed = false,
bool  _transformable = true 
)
inline

◆ StateQuaternion() [3/3]

wolf::StateQuaternion::StateQuaternion ( const Eigen::Quaterniond &  _quaternion,
bool  _fixed = false,
bool  _transformable = true 
)
inline

◆ ~StateQuaternion()

wolf::StateQuaternion::~StateQuaternion ( )
inlineoverride

Member Function Documentation

◆ Identity()

Eigen::VectorXd wolf::StateQuaternion::Identity ( )
inlinestatic

◆ identity()

Eigen::VectorXd wolf::StateQuaternion::identity ( ) const
inlineoverridevirtual

Reimplemented from wolf::StateBlock.

◆ setIdentity()

void wolf::StateQuaternion::setIdentity ( bool  _notify = true)
inlineoverridevirtual

Reimplemented from wolf::StateBlock.

◆ transform()

void wolf::StateQuaternion::transform ( const VectorComposite &  _transformation)
inlineoverridevirtual

Implements wolf::StateBlock.

◆ WOLF_STATE_BLOCK_CREATE()

wolf::StateQuaternion::WOLF_STATE_BLOCK_CREATE ( StateQuaternion  )

The documentation for this class was generated from the following file: